/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"00275E52-ADB4-4EB4-BF42-BC43C88D62C9",variableType:4}
 */
var aux_nro_ped = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"59173792-2EDA-4963-A1EC-DEDA9E9C4615",variableType:4}
 */
var es_preview = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"7B91A25C-6BF9-4EE1-BC5A-99C4483482DD",variableType:4}
 */
var f_cliente_id = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"A0A00C68-BE07-42DE-892D-DA2D422FFAB7",variableType:4}
 */
var f_tiene_pedido = null;

/**
 * @type {Number}
 *
 * @properties={typeid:35,uuid:"83E497DE-906F-47AE-9ED9-8F205B6B9863",variableType:4}
 */
var hay_pedido_autom = null;

/**
 * @properties={typeid:24,uuid:"DDCC1058-EF04-4798-82EE-1FBEB55F2BA0"}
 */
function iniciar() 
{
	databaseManager.setAutoSave(false);
	controller.newRecord();
	//cliente_id=0
	fecha=application.getServerTimeStamp();
	letra=globals.zconf_letra_remito; 
	flete=0;
	es_preview = 0;
	deposito=globals.zparam_deposito_default; 
	f_cliente_id=null;     
	//renglones_en_blanco();  // ver si queda asi 
	  
	elements.cliente_id.requestFocus();  
	return true;
}

/**
 * @properties={typeid:24,uuid:"5534977D-60F1-48CF-99EB-DDFF5FA862D5"}
 * @AllowToRunInFind
 */
function confirmar() 
{
//  VALIDACION campos	
	if (cliente_id == null || fecha == null  || deposito == null)
	// || entrega_lugar==null || entrega_fecha==null)
	{
		var aux_mensaje = ' ';
		if (fecha == null)
			aux_mensaje = 'fecha';
		if (cliente_id == null)
			aux_mensaje = 'cliente';
		if (deposito==null)
			aux_mensaje = 'deposito';
		/*  if (entrega_lugar==null)
			aux_mensaje='calle ';    
		if (entrega_fecha==null)
			aux_mensaje='fecha entrega';  */
			
		globals.gMensaje = 'Debe ingresar ' + aux_mensaje + ' para poder confirmar'
		globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
		return false;
	} 
	
//  VALIDACION  RENGLONES =ver que no falten datos   y ELIMINAR RENGLONES en BLANCO 
	if(rem_cabecera_to_rem_detalle_ind.getSize() == 0)
	{
		globals.gMensaje = 'Debe ingresar renglones ';
		globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
		return false;
	}
//  ELIMINA RENGLONES EN BLANCO
	var i = 1; // indice para el while
	while ( i <= rem_cabecera_to_rem_detalle_ind.getSize())
	{
		rem_cabecera_to_rem_detalle_ind.setSelectedIndex(i);
		if ((rem_cabecera_to_rem_detalle_ind.cantidad == null || rem_cabecera_to_rem_detalle_ind.cantidad == 0)  &&
			(rem_cabecera_to_rem_detalle_ind.precio_unitario == null || rem_cabecera_to_rem_detalle_ind.precio_unitario == 0))
			{
				rem_cabecera_to_rem_detalle_ind.deleteRecord(i);
			}
			else
				i++
	}  
//  VALIDA RENGLON que tengan todos los datos
	for ( var i = 1 ; i <= rem_cabecera_to_rem_detalle_ind.getSize(); i++ )
	{
		rem_cabecera_to_rem_detalle_ind.setSelectedIndex(i);
		if (rem_cabecera_to_rem_detalle_ind.cantidad == null || rem_cabecera_to_rem_detalle_ind.cantidad == 0)
		{
			globals.gMensaje = 'Debe informar Cantidad del renglon ' + i;
			globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
			return false;
		} 
	}	

// OTROS DATOS CABECERA
	tipo = globals.zconf_tipo_mayorista; //  1=mayorista  2= minorista
	rem_estado = globals.zconf_rem_ingresado;
	
  

// DESCUENTA de EXISTENCIAS de ese DEPOSITO y STOCK  la cantidad total  y de los pendientes  //13/4/2011 
	for (var i = 1 ; i <= rem_cabecera_to_rem_detalle_ind.getSize(); i++)
	{  // DESCUENTA cantidad del reng. de EXISTENCIAS de ese DEPOSITO y STOCK  
		rem_cabecera_to_rem_detalle_ind.setSelectedIndex(i);
		rem_cabecera_to_rem_detalle_ind.rem_detalle_to_productos_ind.stock_existencia -= rem_cabecera_to_rem_detalle_ind.cantidad
		globals.gdeposito_ind=deposito;
		rem_cabecera_to_rem_detalle_ind.rem_detalle_to_productos_ind.productos_to_existencias_x_dep_ind.exi_cantidad -= rem_cabecera_to_rem_detalle_ind.cantidad 
			
	// TODO lo sig. no esta en uso en industria. En remitos de ventas se descontaba xq el pedido sumaba a cant. pend. entrega
	/*		
		// DESCUENTA cantidad pend. entrega de EXISTENCIAS de ese DEPOSITO y STOCK 	
		rem_cabecera_to_rem_detalle_ind.rem_detalle_to_productos_ind.stock_pend_entrega = 
			globals.operacion(rem_cabecera_to_rem_detalle_ind.rem_detalle_to_productos_ind.stock_pend_entrega
			,'-',rem_cabecera_to_rem_detalle_ind.cantidad);  
		rem_cabecera_to_rem_detalle_ind.rem_detalle_to_productos_ind.productos_to_existencias_x_dep_ind.exi_pend_entrega=
			globals.operacion(rem_cabecera_to_rem_detalle_ind.rem_detalle_to_productos_ind.productos_to_existencias_x_dep_ind.exi_pend_entrega
			,'-',rem_cabecera_to_rem_detalle_ind.cantidad);
	*/  
	} 
	
/*	 
//DOMICILIO INGRESADO

if (cli_domicilios_id==null) 
	{   
	 if(entrega_entre_calles==null && 	entrega_descripcion==null &&
		entrega_localidad==null && 		entrega_lugar==null &&
		entrega_observaciones==null &&  entrega_provincia_id==null &&
		entrega_telefono==null ) 
		{
		 //  nada=puede no tener domicilio ???
		}
	else
	 	{ // graba
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.newRecord();
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.descripción=entrega_descripcion;
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.entre_calles=entrega_entre_calles;
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.localidad=entrega_localidad;
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.calle=entrega_lugar;
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.provincia_id=entrega_provincia_id;
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.telefonos=entrega_telefono;
		rem_cabecera_to_clientes_ind.clientes_to_cli_domicilios.observaciones=entrega_observaciones;
		}
	}	 */ 
	

// NUMERACION
	var fs_nro_rem = databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'numeracion_pr')
	fs_nro_rem.loadAllRecords()
	fs_nro_rem.find()
	fs_nro_rem.sucursal = sucursal
	fs_nro_rem.letra = letra
	fs_nro_rem.cod_comprobante = globals.zconf_numeracion_remito_propio;  // ex 14 
	var found = fs_nro_rem.search()
	if (found != 1)
    {	
	   globals.gMensaje = 'Sucursal o Letra o Tipo de comprobante incorrectos'
	   globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
	   return false;  
    }
	fs_nro_rem.setSelectedIndex(1)
	fs_nro_rem.ultimo_numero = fs_nro_rem.ultimo_numero + 1
	nro_remito = fs_nro_rem.ultimo_numero;
 

	// HISTORICO STOCK
	historico_stock();   
	
	var estado_save=databaseManager.saveData()
	if (estado_save==true)
	{	
		// GENERAR PDF SIEMPRE 
		var carpeta=globals.zconf_path_pdf  // TOMA de una GLOBALS el NOMBRE DE LA CARPETA P/dejar el remito.
		plugins.file.createFolder(carpeta); // CREO LA CARPETA PARA DEJAR EL REMITO 	
		//ARMO NOMBRE DEL PDF DEL REMITO 
		var nombre_remito=carpeta+'/Remito-'+letra+'-'+utils.numberFormat(sucursal,'0000')+'-'+utils.numberFormat(nro_remito,'00000000')+'.pdf';				
		forms.remitos_imp_ind.controller.print(true,false,plugins.pdf_output.getPDFPrinter(nombre_remito));
		globals.gMensaje ='Remito ' + letra + '-' + utils.numberFormat(sucursal,'0000') + '-' + utils.numberFormat(nro_remito,'00000000') +  '\nGenerado correctamente';
		var resp=globals.DIALOGS.showQuestionDialog('Generador de Remitos',  globals.gMensaje, "Imprimir", "Enviar", "PDF" );
		
		/*
		if (resp == 'Si')
		{
			es_preview = 1
		    forms.remitos_imp_ind.controller.showPrintPreview(true);  
		    //forms.rem_cabecera_imp.controller.print(true)
		}
		else
		{	
			iniciar() 
		}  */
		
		//    desde
		if (resp == 'Imprimir')		
		{
			es_preview = 1;
		    forms.remitos_imp_ind.controller.showPrintPreview(true); //  ver formato
		    //forms.remitos_imp_preimp_ind.controller.showPrintPreview(true);
		}
		if (resp == 'PDF')		
		{	
		// MUESTRO el pfd directamente		
			application.showURL('file:///' + nombre_remito);  
		}
		iniciar();
}
	else
	{	// probar 	
		//var fallas = new Array() 
		//fallas=databaseManager.getFailedRecords() 
		globals.gMensaje =' Remito no fue generado - Revise los datos ingresados'
		globals.DIALOGS.showInfoDialog('Generador de Remitos',  globals.gMensaje,  "OK")
	}
	return true
}

/**
 * Handle hide window.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"B7FA18AE-99F8-40E2-BA3E-9EAD48E9C131"}
 */
function salir(event) 
{
	if (cliente_id != null)  //  si no ingreso nada no confirmar
	{
		return globals.gOnHide(event)			
	}
	databaseManager.revertEditedRecords()
	databaseManager.setAutoSave(true)
	return true
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"03DA486F-47CD-4EE5-B0E4-89FEDA7FF2C1"}
 */
function agregar_renglon(event)
{
	if (cliente_id!=null)
	{
		rem_cabecera_to_rem_detalle_ind.newRecord(false);
		forms.remitos_1_ind.elements.producto_id.requestFocus();	
	}
	else
	{
		globals.gMensaje='Debe elegir cliente primero';
		globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
	}
}

/**
 * Perform the element default action.
 *
 * @param {JSEvent} event the event that triggered the action
 *
 * @properties={typeid:24,uuid:"3D722F04-C9BD-467B-B1E3-C3827FA5E56D"}
 */
function eliminar_renglon(event) 
{
	if (rem_cabecera_to_rem_detalle_ind.getSize()==0) 
	{
		rem_cabecera_to_rem_detalle_ind.deleteRecord();
		f_tiene_pedido=null;   
		flete_importe=null     
	}	
	else 
	{  
		rem_cabecera_to_rem_detalle_ind.deleteRecord(); 
	}
}

/**
 * @properties={typeid:24,uuid:"57B0A419-DDC6-4A53-B4FF-F28A4F3A98D8"}
 */
function cancelar() 
{
	databaseManager.revertEditedRecords();
	iniciar();
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"5F9DE191-B402-43C3-9ABD-5DC8420528BE"}
 */
function eligio_domicilio(oldValue, newValue, event) 
{
	globals.gCliente=cliente_id;
	return true
/*   
if (cli_domicilios_id!=null)
	{
		elements.entrega_descripción.editable=false 
		elements.entrega_entre_calles.editable=false
		elements.entrega_localidad.editable=false
		elements.entrega_lugar.editable=false
		elements.entrega_provincia_id.editable=false
		elements.entrega_telefono.editable=false
		elements.entrega_observaciones.editable=false

		entrega_descripcion=rem_cabecera_to_cli_domicilios.descripción 
		entrega_entre_calles=rem_cabecera_to_cli_domicilios.entre_calles
		entrega_localidad=rem_cabecera_to_cli_domicilios.localidad
		entrega_lugar=rem_cabecera_to_cli_domicilios.calle
		entrega_provincia_id=rem_cabecera_to_cli_domicilios.provincia_id
		entrega_telefono=rem_cabecera_to_cli_domicilios.telefonos
		entrega_observaciones=rem_cabecera_to_cli_domicilios.observaciones
	}
	else
	{		
		elements.entrega_descripción.editable=true  
		elements.entrega_entre_calles.editable=true
		elements.entrega_localidad.editable=true
		elements.entrega_lugar.editable=true
		elements.entrega_provincia_id.editable=true
		elements.entrega_telefono.editable=true
		elements.entrega_observaciones.editable=true
		
		//   
		if(f_tiene_pedido!=1) 
		{  		//  toma domicilio del cliente
			entrega_entre_calles=null
			entrega_descripcion=null  
			entrega_localidad=rem_cabecera_to_clientes_ind.localidad
			entrega_lugar=rem_cabecera_to_clientes_ind.direcc_completa 
			entrega_provincia_id=rem_cabecera_to_clientes_ind.provincia_id
			entrega_telefono=rem_cabecera_to_clientes_ind.telefono
			entrega_observaciones=null
		}
	}   */
}

/**
 * Handle changed data.
 *
 * @param {Object} [oldValue] old value
 * @param {Object} [newValue] new value
 * @param {JSEvent} [event] the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"B9824441-9D9E-467D-9A02-731A506661F1"}
 */
function onDataChange_cliente_id(oldValue, newValue, event) 
{  
	f_cliente_id=cliente_id;      
	globals.gCliente=cliente_id;  
	
	var salvar_cliente=cliente_id;
	databaseManager.revertEditedRecords()
	controller.newRecord(false);
	cliente_id=salvar_cliente;
	fecha=application.getServerTimeStamp() 
	letra=globals.zconf_letra_remito;      
	es_preview=0;
	renglones_en_blanco();
	deposito=globals.zparam_deposito_default; 
	
	var resultado=globals.clienteActivo(cliente_id) 
	if (resultado==0 || resultado==null)
	{
		globals.gMensaje = 'Cliente inexistente o inactivo'
		globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
		return false;
	}
	
	if (rem_cabecera_to_clientes_ind.bloqueado==1)
	{
		globals.gMensaje='Cliente bloqueado - No se puede hacer remito';
		globals.DIALOGS.showInfoDialog('Remitos',  globals.gMensaje,  "OK")  //  23/01/2014
		return false;
	}
	
	entrega_descripcion=null 
	entrega_entre_calles=null  
	entrega_localidad=null
	entrega_lugar=null 
	entrega_provincia_id=null
	entrega_telefono=null;  
	entrega_observaciones=null
	return true
}

/**
 * Handle changed data.
 *
 * @param {Object} oldValue old value
 * @param {Object} newValue new value
 * @param {JSEvent} event the event that triggered the action
 *
 * @returns {Boolean}
 *
 * @properties={typeid:24,uuid:"1F98D065-AACE-4715-AB38-ABC605017CA1"}
 */
function onDataChange_f_cliente_id(oldValue, newValue, event) 
{
	if(f_cliente_id != null) 
	{
		cliente_id = f_cliente_id; 
		globals.gCliente = f_cliente_id;
		onDataChange_cliente_id()
	}
	return true
}

/**
 * @properties={typeid:24,uuid:"FDBC837E-7968-446F-B5F7-5B3EAD2F76A7"}
 */
function renglones_en_blanco() 
{   
// pone 10 renglones en blanco  16/06/2011
	for (var i = 1;i <= 10;i++)
		rem_cabecera_to_rem_detalle_ind.newRecord(false);
	rem_cabecera_to_rem_detalle_ind.setSelectedIndex(1);
	
}

/**
 * @properties={typeid:24,uuid:"BCD25D56-064C-4E60-BFB1-18CDA6673753"}
 */
function historico_stock() 
{	
//  CREA HISTORICO de STOCK // FOUNDSET de FS_HIST
var fs_hist = databaseManager.getFoundSet(databaseManager.getDataSourceServerName(controller.getDataSource()),'hist_stock')

for ( var i = 1 ; i <= rem_cabecera_to_rem_detalle_ind.getSize(); i++ )
	{
	rem_cabecera_to_rem_detalle_ind.setSelectedIndex(i); 
	fs_hist.newRecord();
	fs_hist.cantidad=rem_cabecera_to_rem_detalle_ind.cantidad;
	fs_hist.cliente_id=cliente_id;
	fs_hist.producto_id=rem_cabecera_to_rem_detalle_ind.producto_id;
	fs_hist.fecha=fecha;
	fs_hist.tipo=globals.zconf_hist_egre_cliente;  //2=egreso cliente
	fs_hist.cantidad_signo=rem_cabecera_to_rem_detalle_ind.cantidad * (-1); // grabar con signo=NO hacer calculation
	fs_hist.deposito_id=deposito;
	fs_hist.moneda_id=globals.zparam_moneda_default;
	fs_hist.cantidad=rem_cabecera_to_rem_detalle_ind.cantidad;
	fs_hist.comprob_tipo=globals.zconf_numeracion_remito_propio; 
	fs_hist.comprob_sucursal=sucursal;
	fs_hist.comprob_nro=nro_remito;
	fs_hist.comprob_letra=letra;
	}
}
